﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;

public partial class AddXml : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //if (Session["UserId"] == null)
        //{
        //    Response.Write("<script>alert('登陆已过期，请重新登陆！');top.location.href='" + Request.ApplicationPath + @"/Login.aspx';</script>");
        //    Response.End();
        //}
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //操作四：添加一个节点
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath("SysConfig.xml"));
        //创建一个新节点
        XmlElement newElement = xmlDoc.CreateElement("setting");
        //创建newElement下的节点
        XmlElement eltitle = xmlDoc.CreateElement("title");
        XmlElement elcontent = xmlDoc.CreateElement("content");
        XmlElement eltip = xmlDoc.CreateElement("tip");
        eltitle.InnerText = this.tbaddtitle.Text.Trim();
        elcontent.InnerText = this.tbaddcontent.Text.Trim();
        eltip.InnerText = this.tbtip.Text.Trim();
        //将newElement下的节点加到newElement上
        newElement.AppendChild(eltitle);
        newElement.AppendChild(elcontent);
        newElement.AppendChild(eltip);
        //将newElement加入到xml文件中（加在最后一条记录上）
        //xmlDoc.DocumentElement.AppendChild(newElement);
        //如果要插到某条记录之后也可以用（加在第一条记录之后）

        xmlDoc.DocumentElement.InsertBefore(newElement, xmlDoc.SelectSingleNode("settings/updatelog"));

        //xmlDoc.DocumentElement.InsertAfter(newElement, xmlDoc.DocumentElement.ChildNodes.Item(0));
        //如果要插到某条记录之前也可以用（加在第一条记录之前）
        //xmlDoc.DocumentElement.InsertBefore(newElement,xmlDoc.DocumentElement.ChildNodes.Item(0));

        //更新信息记录
        XmlNode xmlNode = xmlDoc.SelectSingleNode("settings/updatelog");
        xmlNode["lastUpdateTime"].InnerText = DateTime.Now.ToString();
        if(Session["UserId"] != null)
            xmlNode["lastUpdateUser"].InnerText = Session["UserId"].ToString();
        xmlNode["lastUpdateIP"].InnerText = Request.UserHostAddress;

        //存盘
        xmlDoc.Save(Server.MapPath("SysConfig.xml"));
        Response.Redirect("SysEnvConfig.aspx");
    }

}
